package org.hank.wanandroid.db.typeconvert

import androidx.room.TypeConverter
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import org.hank.wanandroid.bean.Tag

//  ┏┓　　　┏┓
//┏┛┻━━━┛┻┓
//┃　　　　　　　┃
//┃　　　━　　　┃
//┃　┳┛　┗┳　┃
//┃　　　　　　　┃
//┃　　　┻　　　┃
//┃　　　　　　　┃
//┗━┓　　　┏━┛
//    ┃　　　┃                  神兽保佑
//    ┃　　　┃                  永无BUG！
//    ┃　　　┗━━━┓
//    ┃　　　　　　　┣┓
//    ┃　　　　　　　┏┛
//    ┗┓┓┏━┳┓┏┛
//      ┃┫┫　┃┫┫
//      ┗┻┛　┗┻┛
/**
 *@auth: Hank
 *邮箱: cs16xiaoc1@163.com
 *创建时间: 2021/9/3 16:45
 *描述:
 */
class TagListTypeConvert {

    @TypeConverter
    fun list2Json(list: List<Tag>?): String? {
        return if (list == null)
            null
        else
            Gson().toJson(list)
    }

    @TypeConverter
    fun json2List(str: String?): List<Tag>? {
        return if (str.isNullOrEmpty())
            null
        else {
            Gson().fromJson(
                str,
                object : TypeToken<List<Tag>>() {}.type
            )
        }
    }
}